package com.basic.backend.model.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 文章视图对象
 */
@Data
public class ArticleVO implements Serializable {
    /**
     * 文章ID
     */
    private Long articleId;

    /**
     * 文章标题
     */
    private String title;

    /**
     * 文章内容
     */
    private String content;

    /**
     * 文章状态（公开/审核中/草稿等）
     */
    private String status;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createdAt;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updatedAt;

    /**
     * 作者信息（脱敏）
     */
    private UserVO author;

    private static final long serialVersionUID = 1L;

    // 仅关联图片列表
    private List<String> images;

    /**
     * 补充字段映射（当需要展示嵌套用户信息时）
     */
    public void setAuthorInfo(UserVO user) {
        this.author = user;
    }
}